Change an affiliation
curl --request PATCH \
--url https://{organization}.rescueconsole.com/api/organizations/affiliations/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ended_on": "2026-08-29",
"is_primary": false
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ended_on: '2026-08-29', is_primary: false})
};
fetch('https://{organization}.rescueconsole.com/api/organizations/affiliations/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/organizations/affiliations/{id}"
payload = {
"ended_on": "2026-08-29",
"is_primary": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"person_id": "<string>",
"organization_id": "<string>",
"kind": "employee",
"title": "<string>",
"started_on": "2023-12-25",
"ended_on": "2023-12-25",
"is_current": true,
"is_primary": true,
"notes": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}Affiliations
Change an affiliation
Send only what changes; null clears the title, the notes or a date. When somebody leaves, set ended_on: an ended affiliation stays on both records as history. An affiliation cannot be moved to another person or organization: sending person_id or organization_id is refused with 409, so end this one and add a new one. Needs write on Organizations.
PATCH
/
api
/
organizations
/
affiliations
/
{id}
Change an affiliation
curl --request PATCH \
--url https://{organization}.rescueconsole.com/api/organizations/affiliations/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ended_on": "2026-08-29",
"is_primary": false
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ended_on: '2026-08-29', is_primary: false})
};
fetch('https://{organization}.rescueconsole.com/api/organizations/affiliations/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/organizations/affiliations/{id}"
payload = {
"ended_on": "2026-08-29",
"is_primary": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"person_id": "<string>",
"organization_id": "<string>",
"kind": "employee",
"title": "<string>",
"started_on": "2023-12-25",
"ended_on": "2023-12-25",
"is_current": true,
"is_primary": true,
"notes": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}Authorizations
An API key from Settings, API keys. It starts with rc_live_.
Path Parameters
The affiliation's ID.
Body
application/json
Available options:
employee, volunteer, contractor, owner, board_member, contact, other Such as Veterinarian or Practice manager.
The day it began, YYYY-MM-DD.
The day it ended, YYYY-MM-DD. Not before started_on. Empty while it is current.
true makes this the person's primary affiliation.
Response
The affiliation, as it now is.
Available options:
employee, volunteer, contractor, owner, board_member, contact, other true while there is no end date.