---
title: "get people who caption a family tree - the entry points for browsing family trees. Registered before the \"{id}\" route below (and constrained to int there) so this literal segment isn't swallowed as an id."
method: GET
path: "/api/people/familytrees"
tags: ["GanjoorRelatedPerson"]
---

# get people who caption a family tree - the entry points for browsing family trees. Registered before the "{id}" route below (and constrained to int there) so this literal segment isn't swallowed as an id.

`GET /api/people/familytrees`

## Request

- Base URL: `https://api.ganjoor.net` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ganjoor.net/api/people/familytrees`
- Auth: none declared

## Response `200`

OK

- GanjoorRelatedPerson[]
  - `id` integer: id
  - `name` string, nullable: name
  - `description` string, nullable: description
  - `wikiUrl` string, nullable: wikipedia url
  - `birthYearInLHijri` integer: birth year in lunar hijri
  - `deathYearInLHijri` integer: death year in lunar hijri
  - `validBirthDate` boolean: BirthYearInLHijri, for some poets it is only indicator of their century of birth and should not be relied as their valid birth date
  - `validDeathDate` boolean: DeathYearInLHijri, for some poets it is only indicator of their century of death and should not be relied as their valid death date
  - `birthLocationId` integer, nullable: birth location id
  - `birthLocation` GanjoorGeoLocation: Geo Locations (Cities) referred by Ganjoor Metadata
    - `id` integer: id
    - `name` string, nullable: name
    - `latitude` number, double: Latitude
    - `longitude` number, double: Longitude
    - `machineGenerated` boolean: AI generated
  - `deathLocationId` integer, nullable: death location id
  - `deathLocation` GanjoorGeoLocation: Geo Locations (Cities) referred by Ganjoor Metadata
    - `id` integer: id
    - `name` string, nullable: name
    - `latitude` number, double: Latitude
    - `longitude` number, double: Longitude
    - `machineGenerated` boolean: AI generated
  - `machineGenerated` boolean: AI generated
  - `familyTreeCaption` string, nullable: optional caption for the family tree this person is treated as the root of (e.g. "ساسانیان", "آل برمک") - purely a display label for whoever a tree is being browsed from; nothing enforces that this person actually has no recorded ancestors themselves, and most people will leave this null (only whichever person a tree is "named after" needs one set).
  - `importance` 0 | 1 | 2: how editorially prominent a GanjoorRelatedPerson is treated as - purely a display/sizing hint (see GanjoorRelatedPerson.Importance, GanjoorPersonGraphNode.Importance and peoplegraph.js's nodeRadius()), never used to filter, rank or otherwise affect query results. New values can be appended safely later (stored as int).
  - `gender` 0 | 1 | 2: a GanjoorRelatedPerson's gender - used only by the family-tree chart (familytree.js's buildLayout()) to break ties when a child has two recorded parents and both happen to have their own recorded ancestors (so neither side can be preferred on "continues a documented lineage" grounds alone): the father is preferred as the tree's spine parent, matching conventional patrilineal genealogy-chart practice, with the mother then drawn attached beside him. Never used to filter, rank or otherwise affect query results. New values can be appended safely later (stored as int).
  - `aliases` string, nullable: other names this person is known by (epithets, titles, alternative spellings), separated by the Persian comma (،) - e.g. for رستم: «تهمتن، رستم دستان، پور زال». Used by the AI tagging jobs to match a name in a poem to this person, and filled automatically when two people are merged

## Other responses

- `400`: Bad Request

## Changes

- **2026-10-10** `330e7bb195c1`: 1 info
  - added the optional property `items/aliases` to the response with the `200` status
- **2026-10-03** `3812f6309404`: 2 info
  - added the optional property `items/gender` to the response with the `200` status
  - added the optional property `items/importance` to the response with the `200` status
- **2026-09-28** `e07d36be1da3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ganjoor/apis/rmuseum-api/changes/api/people/familytrees/get.md)

---

[API](https://skmtc.dev/ganjoor/apis/rmuseum-api.md) - [All operations](https://skmtc.dev/ganjoor/apis/rmuseum-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ganjoor/apis/rmuseum-api/revisions/143b912b1085?raw)
