curl --request POST \
--url https://{organization}.rescueconsole.com/api/animals/applications/{id}/decision \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"decision": "denied",
"decision_reason_code": "landlord_denied",
"decision_notes": "The landlord does not allow dogs over 25 pounds."
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
decision: 'denied',
decision_reason_code: 'landlord_denied',
decision_notes: 'The landlord does not allow dogs over 25 pounds.'
})
};
fetch('https://{organization}.rescueconsole.com/api/animals/applications/{id}/decision', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/animals/applications/{id}/decision"
payload = {
"decision": "denied",
"decision_reason_code": "landlord_denied",
"decision_notes": "The landlord does not allow dogs over 25 pounds."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"application": {
"id": "<string>",
"applicant_person_id": "<string>",
"status": "draft",
"is_open": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"co_applicant_name": "<string>",
"co_applicant_email": "<string>",
"co_applicant_phone": "<string>",
"housing_type": "house",
"housing_is_rented": true,
"landlord_name": "<string>",
"landlord_phone": "<string>",
"landlord_approves": true,
"has_fenced_yard": true,
"household_adults": 1,
"household_children": 1,
"youngest_child_age": 1,
"household_agrees": true,
"has_current_pets": true,
"current_pets": "<string>",
"has_previous_pets": true,
"previous_pets": "<string>",
"vet_name": "<string>",
"vet_phone": "<string>",
"hours_alone_per_day": 12,
"meet_scheduled_at": "<string>",
"meet_location": "<string>",
"meet_completed_at": "<string>",
"meet_notes": "<string>",
"decision_notes": "<string>",
"application_kind": "adoption",
"stage": "<string>",
"stage_label": "<string>",
"submitted_on": "2023-12-25",
"decided_on": "2023-12-25",
"decided_by_person_id": "<string>",
"decision_reason_code": "housing_unsuitable",
"held_at": "2023-11-07T05:31:56Z",
"hold_reason": "<string>",
"meet_with": [
{
"person_id": "<string>",
"name": "<string>"
}
],
"source_submission_id": "<string>",
"custom_fields": {},
"applicant_first_name": "<string>",
"applicant_last_name": "<string>",
"applicant_name": "<string>",
"applicant_email": "<string>",
"pet_count": 123,
"assignees": [
{
"person_id": "<string>",
"name": "<string>"
}
],
"pets": [
{
"animal_id": "<string>",
"rank": 123,
"id": "<string>",
"name": "<string>",
"species": "dog",
"status": "<string>",
"breed": "<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)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}{
"error": "house_trained must be 1, 0 or null (not assessed)"
}Approve or deny an application
Records the decision, who made it (the person who made the key) and when. A denial needs a reason code; an approval does not. The decision clears the application’s stage and any hold, closes it for good, and is copied to the form submission it was made from. Any workflow your organization starts when an application is approved, or denied, starts. Approving does not record an adoption: sign the adoption contract on the application for that. Needs write on Animals.
curl --request POST \
--url https://{organization}.rescueconsole.com/api/animals/applications/{id}/decision \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"decision": "denied",
"decision_reason_code": "landlord_denied",
"decision_notes": "The landlord does not allow dogs over 25 pounds."
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
decision: 'denied',
decision_reason_code: 'landlord_denied',
decision_notes: 'The landlord does not allow dogs over 25 pounds.'
})
};
fetch('https://{organization}.rescueconsole.com/api/animals/applications/{id}/decision', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/animals/applications/{id}/decision"
payload = {
"decision": "denied",
"decision_reason_code": "landlord_denied",
"decision_notes": "The landlord does not allow dogs over 25 pounds."
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"application": {
"id": "<string>",
"applicant_person_id": "<string>",
"status": "draft",
"is_open": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"co_applicant_name": "<string>",
"co_applicant_email": "<string>",
"co_applicant_phone": "<string>",
"housing_type": "house",
"housing_is_rented": true,
"landlord_name": "<string>",
"landlord_phone": "<string>",
"landlord_approves": true,
"has_fenced_yard": true,
"household_adults": 1,
"household_children": 1,
"youngest_child_age": 1,
"household_agrees": true,
"has_current_pets": true,
"current_pets": "<string>",
"has_previous_pets": true,
"previous_pets": "<string>",
"vet_name": "<string>",
"vet_phone": "<string>",
"hours_alone_per_day": 12,
"meet_scheduled_at": "<string>",
"meet_location": "<string>",
"meet_completed_at": "<string>",
"meet_notes": "<string>",
"decision_notes": "<string>",
"application_kind": "adoption",
"stage": "<string>",
"stage_label": "<string>",
"submitted_on": "2023-12-25",
"decided_on": "2023-12-25",
"decided_by_person_id": "<string>",
"decision_reason_code": "housing_unsuitable",
"held_at": "2023-11-07T05:31:56Z",
"hold_reason": "<string>",
"meet_with": [
{
"person_id": "<string>",
"name": "<string>"
}
],
"source_submission_id": "<string>",
"custom_fields": {},
"applicant_first_name": "<string>",
"applicant_last_name": "<string>",
"applicant_name": "<string>",
"applicant_email": "<string>",
"pet_count": 123,
"assignees": [
{
"person_id": "<string>",
"name": "<string>"
}
],
"pets": [
{
"animal_id": "<string>",
"rank": 123,
"id": "<string>",
"name": "<string>",
"species": "dog",
"status": "<string>",
"breed": "<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)"
}{
"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 application's ID.
Body
approved, denied Required when denying.
housing_unsuitable, landlord_denied, insufficient_experience, incomplete_information, animal_unavailable, better_match_found, other Today unless you say.
Why, in words.
Response
The application, decided.
The answers on an application. Send only what changes. A yes or no answer is true, false, or null for not asked. Text is trimmed, and empty text is stored as null.
Show child attributes
Show child attributes