curl --request POST \
--url https://{organization}.rescueconsole.com/api/animals/intakes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"animal_id": "39fbe05a-3fcd-4e02-9091-bde4e4e26098",
"intake_type": "owner_surrender",
"intake_date": "2026-09-18",
"surrendered_by_person_id": "f6c8b2d7-0c9a-4bdf-8d6e-8ac1b1bf3d65",
"surrender_reason": "landlord",
"surrender_notes": "New lease does not allow cats.",
"condition_on_arrival": "healthy",
"has_vet_records": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
animal_id: '39fbe05a-3fcd-4e02-9091-bde4e4e26098',
intake_type: 'owner_surrender',
intake_date: '2026-09-18',
surrendered_by_person_id: 'f6c8b2d7-0c9a-4bdf-8d6e-8ac1b1bf3d65',
surrender_reason: 'landlord',
surrender_notes: 'New lease does not allow cats.',
condition_on_arrival: 'healthy',
has_vet_records: true
})
};
fetch('https://{organization}.rescueconsole.com/api/animals/intakes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/animals/intakes"
payload = {
"animal_id": "39fbe05a-3fcd-4e02-9091-bde4e4e26098",
"intake_type": "owner_surrender",
"intake_date": "2026-09-18",
"surrendered_by_person_id": "f6c8b2d7-0c9a-4bdf-8d6e-8ac1b1bf3d65",
"surrender_reason": "landlord",
"surrender_notes": "New lease does not allow cats.",
"condition_on_arrival": "healthy",
"has_vet_records": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"intake": {
"id": "<string>",
"animal_id": "<string>",
"intake_type": "stray",
"intake_date": "<string>",
"is_surrender": true,
"is_return": true,
"surrendered_by_person_id": "<string>",
"source_organization": "<string>",
"found_location": "<string>",
"found_on": "<string>",
"surrender_reason": "moving",
"surrender_notes": "<string>",
"condition_on_arrival": "healthy",
"has_vet_records": true,
"returned_from_adoption_id": "<string>",
"notes": "<string>",
"created_by_person_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"animal_name": "<string>",
"animal_species": "<string>",
"animal_status": "<string>",
"surrendered_by_first_name": "<string>",
"surrendered_by_last_name": "<string>"
}
}{
"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)"
}Record an intake
Records one arrival of an animal that is already on file. An animal can have several: adopted, returned and adopted again is two arrivals, and the latest is the current one. Recording an intake does not change the animal’s own intake date. Needs write on Animals.
curl --request POST \
--url https://{organization}.rescueconsole.com/api/animals/intakes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"animal_id": "39fbe05a-3fcd-4e02-9091-bde4e4e26098",
"intake_type": "owner_surrender",
"intake_date": "2026-09-18",
"surrendered_by_person_id": "f6c8b2d7-0c9a-4bdf-8d6e-8ac1b1bf3d65",
"surrender_reason": "landlord",
"surrender_notes": "New lease does not allow cats.",
"condition_on_arrival": "healthy",
"has_vet_records": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
animal_id: '39fbe05a-3fcd-4e02-9091-bde4e4e26098',
intake_type: 'owner_surrender',
intake_date: '2026-09-18',
surrendered_by_person_id: 'f6c8b2d7-0c9a-4bdf-8d6e-8ac1b1bf3d65',
surrender_reason: 'landlord',
surrender_notes: 'New lease does not allow cats.',
condition_on_arrival: 'healthy',
has_vet_records: true
})
};
fetch('https://{organization}.rescueconsole.com/api/animals/intakes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/animals/intakes"
payload = {
"animal_id": "39fbe05a-3fcd-4e02-9091-bde4e4e26098",
"intake_type": "owner_surrender",
"intake_date": "2026-09-18",
"surrendered_by_person_id": "f6c8b2d7-0c9a-4bdf-8d6e-8ac1b1bf3d65",
"surrender_reason": "landlord",
"surrender_notes": "New lease does not allow cats.",
"condition_on_arrival": "healthy",
"has_vet_records": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"intake": {
"id": "<string>",
"animal_id": "<string>",
"intake_type": "stray",
"intake_date": "<string>",
"is_surrender": true,
"is_return": true,
"surrendered_by_person_id": "<string>",
"source_organization": "<string>",
"found_location": "<string>",
"found_on": "<string>",
"surrender_reason": "moving",
"surrender_notes": "<string>",
"condition_on_arrival": "healthy",
"has_vet_records": true,
"returned_from_adoption_id": "<string>",
"notes": "<string>",
"created_by_person_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"animal_name": "<string>",
"animal_species": "<string>",
"animal_status": "<string>",
"surrendered_by_first_name": "<string>",
"surrendered_by_last_name": "<string>"
}
}{
"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_.
Body
An animal already on file.
How it arrived. unknown unless you say.
stray, owner_surrender, transfer_in, born_in_care, return, confiscation, unknown, other The day it arrived (YYYY-MM-DD). Today unless you say.
Who brought it in. Must be a person in your organization.
Where it came from, in your words, such as the shelter it transferred from.
Where a stray was found.
The day a stray was found (YYYY-MM-DD).
Why it was given up.
moving, landlord, allergies, behavior, medical_cost, no_time, owner_death, owner_illness, too_many_pets, financial, baby_or_child, stray_kept_too_long, other healthy, minor_issues, serious, critical, deceased Whether it came with vet records. Null is not known.
The adoption it came back from. Only on a return intake.
Response
The intake, as it was recorded.
Show child attributes
Show child attributes