Finalize an adoption
curl --request POST \
--url https://{organization}.rescueconsole.com/api/animals/adoptions/{id}/finalize \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"allow_unsigned_contract": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({allow_unsigned_contract: true})
};
fetch('https://{organization}.rescueconsole.com/api/animals/adoptions/{id}/finalize', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/animals/adoptions/{id}/finalize"
payload = { "allow_unsigned_contract": True }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"adoption": {
"id": "<string>",
"animal_id": "<string>",
"adopter_person_id": "<string>",
"status": "active",
"fee_cents": 123,
"adopted_on": "2023-12-25",
"amounts": {
"fee_cents": 123,
"paid_cents": 123,
"pending_cents": 123,
"balance_cents": 123,
"donation_cents": 123
},
"application_id": "<string>",
"list_fee_cents": 123,
"discounts": [
{
"id": "<string>",
"label": "<string>",
"kind": "percent",
"value": 123,
"amount_off_cents": 123,
"reason": "<string>"
}
],
"contract_signed_at": "<string>",
"contract_signed_by": "<string>",
"contract_version": "<string>",
"receipt_number": "<string>",
"finalized_at": "2023-11-07T05:31:56Z",
"donation_id": "<string>",
"reversed_at": "2023-11-07T05:31:56Z",
"reversal_reason": "<string>",
"notes": "<string>",
"is_open": true,
"is_finalized": true,
"is_reversed": true,
"animal_name": "<string>",
"animal_species": "<string>",
"adopter_first_name": "<string>",
"adopter_last_name": "<string>",
"adopter_name": "<string>",
"payments": [
{
"id": "<string>",
"adoption_id": "<string>",
"kind": "payment",
"amount_cents": 2,
"method": "cash",
"received_on": "2023-12-25",
"reference": "<string>",
"verified_at": "2023-11-07T05:31:56Z",
"verified_by_person_id": "<string>",
"voided_at": "2023-11-07T05:31:56Z",
"voided_by_person_id": "<string>",
"void_reason": "<string>",
"recorded_by_person_id": "<string>",
"notes": "<string>",
"gateway": "stripe",
"gateway_reference": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"animal": {
"id": "<string>",
"name": "<string>",
"species": "dog",
"breed": "<string>",
"status": "<string>",
"pet_id": "<string>"
},
"adopter": {
"id": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"display_name": "<string>",
"email": "<string>",
"phone": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"followup_tasks_created": 123
}{
"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)"
}Adoptions
Finalize an adoption
Closes the adoption and issues its receipt number, once. It is refused while money is owed or no contract is signed, unless you say to go ahead anyway: the refusal (409) carries blockers, the list of what is outstanding, and amounts. Finalizing starts any workflow your organization starts when an adoption is finalized, and makes one task on the animal for each of your follow-ups, due that many days after the adoption day. A finalized adoption cannot be changed or finalized again. The body can be left out. Needs write on Animals.
POST
/
api
/
animals
/
adoptions
/
{id}
/
finalize
Finalize an adoption
curl --request POST \
--url https://{organization}.rescueconsole.com/api/animals/adoptions/{id}/finalize \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"allow_unsigned_contract": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({allow_unsigned_contract: true})
};
fetch('https://{organization}.rescueconsole.com/api/animals/adoptions/{id}/finalize', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{organization}.rescueconsole.com/api/animals/adoptions/{id}/finalize"
payload = { "allow_unsigned_contract": True }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"adoption": {
"id": "<string>",
"animal_id": "<string>",
"adopter_person_id": "<string>",
"status": "active",
"fee_cents": 123,
"adopted_on": "2023-12-25",
"amounts": {
"fee_cents": 123,
"paid_cents": 123,
"pending_cents": 123,
"balance_cents": 123,
"donation_cents": 123
},
"application_id": "<string>",
"list_fee_cents": 123,
"discounts": [
{
"id": "<string>",
"label": "<string>",
"kind": "percent",
"value": 123,
"amount_off_cents": 123,
"reason": "<string>"
}
],
"contract_signed_at": "<string>",
"contract_signed_by": "<string>",
"contract_version": "<string>",
"receipt_number": "<string>",
"finalized_at": "2023-11-07T05:31:56Z",
"donation_id": "<string>",
"reversed_at": "2023-11-07T05:31:56Z",
"reversal_reason": "<string>",
"notes": "<string>",
"is_open": true,
"is_finalized": true,
"is_reversed": true,
"animal_name": "<string>",
"animal_species": "<string>",
"adopter_first_name": "<string>",
"adopter_last_name": "<string>",
"adopter_name": "<string>",
"payments": [
{
"id": "<string>",
"adoption_id": "<string>",
"kind": "payment",
"amount_cents": 2,
"method": "cash",
"received_on": "2023-12-25",
"reference": "<string>",
"verified_at": "2023-11-07T05:31:56Z",
"verified_by_person_id": "<string>",
"voided_at": "2023-11-07T05:31:56Z",
"voided_by_person_id": "<string>",
"void_reason": "<string>",
"recorded_by_person_id": "<string>",
"notes": "<string>",
"gateway": "stripe",
"gateway_reference": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"animal": {
"id": "<string>",
"name": "<string>",
"species": "dog",
"breed": "<string>",
"status": "<string>",
"pet_id": "<string>"
},
"adopter": {
"id": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"display_name": "<string>",
"email": "<string>",
"phone": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"followup_tasks_created": 123
}{
"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 adoption's ID.
Body
application/json