curl --request PATCH \
--url https://api.venezuelateayuda.com/v1/persons/{person_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"first_name": "<string>",
"last_name": "<string>",
"document_id": "<string>",
"birth_date": "2023-12-25",
"age": 60,
"location": "<string>",
"description": "<string>",
"contact_person_first_name": "<string>",
"contact_person_last_name": "<string>",
"contact_person_phone": "<string>",
"contact_person_email": "jsmith@example.com",
"is_public": true,
"found_notes": "<string>",
"found_at": "<string>",
"found_city": "<string>",
"finder_name": "<string>",
"finder_phone": "<string>"
}
'import requests
url = "https://api.venezuelateayuda.com/v1/persons/{person_id}"
payload = {
"first_name": "<string>",
"last_name": "<string>",
"document_id": "<string>",
"birth_date": "2023-12-25",
"age": 60,
"location": "<string>",
"description": "<string>",
"contact_person_first_name": "<string>",
"contact_person_last_name": "<string>",
"contact_person_phone": "<string>",
"contact_person_email": "jsmith@example.com",
"is_public": True,
"found_notes": "<string>",
"found_at": "<string>",
"found_city": "<string>",
"finder_name": "<string>",
"finder_phone": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
first_name: '<string>',
last_name: '<string>',
document_id: '<string>',
birth_date: '2023-12-25',
age: 60,
location: '<string>',
description: '<string>',
contact_person_first_name: '<string>',
contact_person_last_name: '<string>',
contact_person_phone: '<string>',
contact_person_email: 'jsmith@example.com',
is_public: true,
found_notes: '<string>',
found_at: '<string>',
found_city: '<string>',
finder_name: '<string>',
finder_phone: '<string>'
})
};
fetch('https://api.venezuelateayuda.com/v1/persons/{person_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.venezuelateayuda.com/v1/persons/{person_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'first_name' => '<string>',
'last_name' => '<string>',
'document_id' => '<string>',
'birth_date' => '2023-12-25',
'age' => 60,
'location' => '<string>',
'description' => '<string>',
'contact_person_first_name' => '<string>',
'contact_person_last_name' => '<string>',
'contact_person_phone' => '<string>',
'contact_person_email' => 'jsmith@example.com',
'is_public' => true,
'found_notes' => '<string>',
'found_at' => '<string>',
'found_city' => '<string>',
'finder_name' => '<string>',
'finder_phone' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.venezuelateayuda.com/v1/persons/{person_id}"
payload := strings.NewReader("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"document_id\": \"<string>\",\n \"birth_date\": \"2023-12-25\",\n \"age\": 60,\n \"location\": \"<string>\",\n \"description\": \"<string>\",\n \"contact_person_first_name\": \"<string>\",\n \"contact_person_last_name\": \"<string>\",\n \"contact_person_phone\": \"<string>\",\n \"contact_person_email\": \"jsmith@example.com\",\n \"is_public\": true,\n \"found_notes\": \"<string>\",\n \"found_at\": \"<string>\",\n \"found_city\": \"<string>\",\n \"finder_name\": \"<string>\",\n \"finder_phone\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.venezuelateayuda.com/v1/persons/{person_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"document_id\": \"<string>\",\n \"birth_date\": \"2023-12-25\",\n \"age\": 60,\n \"location\": \"<string>\",\n \"description\": \"<string>\",\n \"contact_person_first_name\": \"<string>\",\n \"contact_person_last_name\": \"<string>\",\n \"contact_person_phone\": \"<string>\",\n \"contact_person_email\": \"jsmith@example.com\",\n \"is_public\": true,\n \"found_notes\": \"<string>\",\n \"found_at\": \"<string>\",\n \"found_city\": \"<string>\",\n \"finder_name\": \"<string>\",\n \"finder_phone\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.venezuelateayuda.com/v1/persons/{person_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"document_id\": \"<string>\",\n \"birth_date\": \"2023-12-25\",\n \"age\": 60,\n \"location\": \"<string>\",\n \"description\": \"<string>\",\n \"contact_person_first_name\": \"<string>\",\n \"contact_person_last_name\": \"<string>\",\n \"contact_person_phone\": \"<string>\",\n \"contact_person_email\": \"jsmith@example.com\",\n \"is_public\": true,\n \"found_notes\": \"<string>\",\n \"found_at\": \"<string>\",\n \"found_city\": \"<string>\",\n \"finder_name\": \"<string>\",\n \"finder_phone\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"is_minor": true,
"document_type": "cedula",
"document_id": "<string>",
"birth_date": "2023-12-25",
"age": 1,
"age_label": "<string>",
"gender": {
"handle": "female",
"label": "<string>"
},
"location": "<string>",
"description": "<string>",
"status": {
"handle": "missing",
"label": "<string>"
},
"photo_url": "<string>",
"found_notes": "<string>",
"found_at": "2023-11-07T05:31:56Z",
"finder_name": "<string>",
"finder_phone": "<string>",
"hospital": {
"handle": "miguel_perez_carreno",
"label": "<string>"
},
"hospital_status": {
"handle": "admitted",
"label": "<string>"
},
"verified_at": "2023-11-07T05:31:56Z",
"verified_by": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"sources": [
{
"id": "<string>",
"handle": "form",
"label": "<string>",
"url": "<string>",
"source_id": "<string>",
"notes": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"tips": [
{
"id": "<string>",
"person_id": "<string>",
"sender_name": "<string>",
"sender_phone": "<string>",
"message": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"contact_person_first_name": "<string>",
"contact_person_last_name": "<string>",
"contact_person_phone": "<string>",
"contact_person_email": "<string>",
"contact_person_relationship": "<string>"
}
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"errors": {
"first_name": [
"First name is required."
]
}
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Backend is temporarily unavailable. Try again shortly."
}Update a public person
Requires persons:write and matching source ownership. Existing minor or health-sensitive records also require persons:sensitive:read. Person visibility and permissions are checked before the JSON body is validated.
curl --request PATCH \
--url https://api.venezuelateayuda.com/v1/persons/{person_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"first_name": "<string>",
"last_name": "<string>",
"document_id": "<string>",
"birth_date": "2023-12-25",
"age": 60,
"location": "<string>",
"description": "<string>",
"contact_person_first_name": "<string>",
"contact_person_last_name": "<string>",
"contact_person_phone": "<string>",
"contact_person_email": "jsmith@example.com",
"is_public": true,
"found_notes": "<string>",
"found_at": "<string>",
"found_city": "<string>",
"finder_name": "<string>",
"finder_phone": "<string>"
}
'import requests
url = "https://api.venezuelateayuda.com/v1/persons/{person_id}"
payload = {
"first_name": "<string>",
"last_name": "<string>",
"document_id": "<string>",
"birth_date": "2023-12-25",
"age": 60,
"location": "<string>",
"description": "<string>",
"contact_person_first_name": "<string>",
"contact_person_last_name": "<string>",
"contact_person_phone": "<string>",
"contact_person_email": "jsmith@example.com",
"is_public": True,
"found_notes": "<string>",
"found_at": "<string>",
"found_city": "<string>",
"finder_name": "<string>",
"finder_phone": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
first_name: '<string>',
last_name: '<string>',
document_id: '<string>',
birth_date: '2023-12-25',
age: 60,
location: '<string>',
description: '<string>',
contact_person_first_name: '<string>',
contact_person_last_name: '<string>',
contact_person_phone: '<string>',
contact_person_email: 'jsmith@example.com',
is_public: true,
found_notes: '<string>',
found_at: '<string>',
found_city: '<string>',
finder_name: '<string>',
finder_phone: '<string>'
})
};
fetch('https://api.venezuelateayuda.com/v1/persons/{person_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.venezuelateayuda.com/v1/persons/{person_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'first_name' => '<string>',
'last_name' => '<string>',
'document_id' => '<string>',
'birth_date' => '2023-12-25',
'age' => 60,
'location' => '<string>',
'description' => '<string>',
'contact_person_first_name' => '<string>',
'contact_person_last_name' => '<string>',
'contact_person_phone' => '<string>',
'contact_person_email' => 'jsmith@example.com',
'is_public' => true,
'found_notes' => '<string>',
'found_at' => '<string>',
'found_city' => '<string>',
'finder_name' => '<string>',
'finder_phone' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.venezuelateayuda.com/v1/persons/{person_id}"
payload := strings.NewReader("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"document_id\": \"<string>\",\n \"birth_date\": \"2023-12-25\",\n \"age\": 60,\n \"location\": \"<string>\",\n \"description\": \"<string>\",\n \"contact_person_first_name\": \"<string>\",\n \"contact_person_last_name\": \"<string>\",\n \"contact_person_phone\": \"<string>\",\n \"contact_person_email\": \"jsmith@example.com\",\n \"is_public\": true,\n \"found_notes\": \"<string>\",\n \"found_at\": \"<string>\",\n \"found_city\": \"<string>\",\n \"finder_name\": \"<string>\",\n \"finder_phone\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.venezuelateayuda.com/v1/persons/{person_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"document_id\": \"<string>\",\n \"birth_date\": \"2023-12-25\",\n \"age\": 60,\n \"location\": \"<string>\",\n \"description\": \"<string>\",\n \"contact_person_first_name\": \"<string>\",\n \"contact_person_last_name\": \"<string>\",\n \"contact_person_phone\": \"<string>\",\n \"contact_person_email\": \"jsmith@example.com\",\n \"is_public\": true,\n \"found_notes\": \"<string>\",\n \"found_at\": \"<string>\",\n \"found_city\": \"<string>\",\n \"finder_name\": \"<string>\",\n \"finder_phone\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.venezuelateayuda.com/v1/persons/{person_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"document_id\": \"<string>\",\n \"birth_date\": \"2023-12-25\",\n \"age\": 60,\n \"location\": \"<string>\",\n \"description\": \"<string>\",\n \"contact_person_first_name\": \"<string>\",\n \"contact_person_last_name\": \"<string>\",\n \"contact_person_phone\": \"<string>\",\n \"contact_person_email\": \"jsmith@example.com\",\n \"is_public\": true,\n \"found_notes\": \"<string>\",\n \"found_at\": \"<string>\",\n \"found_city\": \"<string>\",\n \"finder_name\": \"<string>\",\n \"finder_phone\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"is_minor": true,
"document_type": "cedula",
"document_id": "<string>",
"birth_date": "2023-12-25",
"age": 1,
"age_label": "<string>",
"gender": {
"handle": "female",
"label": "<string>"
},
"location": "<string>",
"description": "<string>",
"status": {
"handle": "missing",
"label": "<string>"
},
"photo_url": "<string>",
"found_notes": "<string>",
"found_at": "2023-11-07T05:31:56Z",
"finder_name": "<string>",
"finder_phone": "<string>",
"hospital": {
"handle": "miguel_perez_carreno",
"label": "<string>"
},
"hospital_status": {
"handle": "admitted",
"label": "<string>"
},
"verified_at": "2023-11-07T05:31:56Z",
"verified_by": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"sources": [
{
"id": "<string>",
"handle": "form",
"label": "<string>",
"url": "<string>",
"source_id": "<string>",
"notes": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"tips": [
{
"id": "<string>",
"person_id": "<string>",
"sender_name": "<string>",
"sender_phone": "<string>",
"message": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"contact_person_first_name": "<string>",
"contact_person_last_name": "<string>",
"contact_person_phone": "<string>",
"contact_person_email": "<string>",
"contact_person_relationship": "<string>"
}
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"errors": {
"first_name": [
"First name is required."
]
}
}{
"error": "Person not found."
}{
"error": "Person not found."
}{
"error": "Backend is temporarily unavailable. Try again shortly."
}Authorizations
Send the API key as Authorization: Bearer <api_key>.
Path Parameters
Body
Updates supplied canonical person fields only. Unknown fields and empty updates are rejected.
Trimmed and normalized person first name.
2Trimmed and normalized person last name.
2cedula, passport, birth_certificate, other Document identifier; blank text is normalized to null.
YYYY-MM-DD; surrounding whitespace is trimmed and blank text is normalized to null.
0 <= x <= 120female, male, other 11campo_de_golf_caribe, centro_acopio_caraballeda, polideportivo_la_guaira present, departed 21One valid phone number; accepted national or international input is stored as E.164.
1mother, father, sibling, grandparent, aunt_uncle, cousin, friend, legal_guardian Person status. not_missing forces private visibility and is absent from list/detail reads; an update that makes a record private can return its resulting status once.
missing, found, not_missing Controls public visibility of the currently public record; does not make an already private record addressable.
1Recorded found timestamp text; this field is not ISO-date validated.
1la_guaira, distrito_capital, miranda, carabobo, aragua, yaracuy, falcon, lara, cojedes Official city handle belonging to found_state; requires found_state when supplied.
12One valid phone number; accepted national or international input is stored as E.164.
1miguel_perez_carreno, domingo_luciani, ricardo_baquero_gonzalez, universitario_caracas, carlos_bello_cruz_roja, general_oeste_jose_gregorio, cdi_ali_primera, jose_maria_vargas, hospital_de_caracas, hospital_de_clinicas_caracas, policlinica_metropolitana, centro_medico_docente_la_trinidad, centro_medico_de_caracas, clinica_santa_sofia, clinica_sanatrix, urologico_san_roman, clinica_las_ciencias, hospital_central_maracay, vargas_caracas, clinica_el_avila, clinica_alfa, hospital_ciudad_caribia, ana_perez_de_leon_2, ana_perez_de_leon_municipal, centro_acopio_caraballeda, hospital_militar_carlos_arvelo, jm_de_los_rios, victorino_santaella, lidice_jesus_yerena, cdd_las_mercedes, hospital_naval_raul_perdomo_hurtado, materno_infantil_ana_teresa_ponce, san_jose_maiquetia, rafael_medina_jimenez_pariata, hermogenes_rivero_saldivia, general_higuerote, valles_del_tuy_simon_bolivar, guarenas_guatire_eugenio_dbellard, jose_ignacio_baldo_algodonal, periferico_coche, san_juan_de_dios, ortopedico_infantil, cardiologico_infantil_latinoamericano, maternidad_concepcion_palacios, maternidad_santa_ana, hospital_elias_toro, oncologico_padre_machado, ambulatorio_naiguata, centro_oftalmologico_de_vargas, centro_medico_la_guaira, policlinica_la_guaira, centro_medico_pariata, centro_especialidades_medicas_week_end, campo_de_golf_caribe, polideportivo_la_guaira admitted, discharged, deceased Response
Updated person; a record made private by this update is still returned once.
Minimized default person response. Child records and public contact fields are protected by default; sensitive access requires a separately approved persons:sensitive:read permission. With that permission, person responses may include the full national ID, precise details, reporter contact fields, finder phone, hospital data, sources, and community-information sender phones.
Show child attributes
Show child attributes

