Add a placement
curl --request POST \
--url https://{organization}.rescueconsole.com/api/animals/animals/{id}/placements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"person_id": "9f2e6b13-4c7a-4d0e-8b5f-1a3c6e9d2b74",
"role": "foster",
"started_on": "2026-08-01",
"notes": "Bottle feeding every four hours."
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
person_id: '9f2e6b13-4c7a-4d0e-8b5f-1a3c6e9d2b74',
role: 'foster',
started_on: '2026-08-01',
notes: 'Bottle feeding every four hours.'
})
};
fetch('https://{organization}.rescueconsole.com/api/animals/animals/{id}/placements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/animals/animals/{id}/placements"
payload = {
"person_id": "9f2e6b13-4c7a-4d0e-8b5f-1a3c6e9d2b74",
"role": "foster",
"started_on": "2026-08-01",
"notes": "Bottle feeding every four hours."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"person_id": "<string>",
"role": "intake",
"started_on": "2023-12-25",
"ended_on": "2023-12-25",
"notes": "<string>",
"created_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)"
}Animal placements
Add a placement
Records a person’s part in the animal’s story. It records the link only: it changes no status and starts no foster placement or adoption. A placement cannot be changed: delete it and add it again. Needs write on Animals.
POST
/
api
/
animals
/
animals
/
{id}
/
placements
Add a placement
curl --request POST \
--url https://{organization}.rescueconsole.com/api/animals/animals/{id}/placements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"person_id": "9f2e6b13-4c7a-4d0e-8b5f-1a3c6e9d2b74",
"role": "foster",
"started_on": "2026-08-01",
"notes": "Bottle feeding every four hours."
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
person_id: '9f2e6b13-4c7a-4d0e-8b5f-1a3c6e9d2b74',
role: 'foster',
started_on: '2026-08-01',
notes: 'Bottle feeding every four hours.'
})
};
fetch('https://{organization}.rescueconsole.com/api/animals/animals/{id}/placements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/animals/animals/{id}/placements"
payload = {
"person_id": "9f2e6b13-4c7a-4d0e-8b5f-1a3c6e9d2b74",
"role": "foster",
"started_on": "2026-08-01",
"notes": "Bottle feeding every four hours."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"person_id": "<string>",
"role": "intake",
"started_on": "2023-12-25",
"ended_on": "2023-12-25",
"notes": "<string>",
"created_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)"
}Authorizations
An API key from Settings, API keys. It starts with rc_live_.
Path Parameters
The animal's record ID (not its Pet ID).
Body
application/json