Person Details
GET /portfolio/person/{id}
Returns a public person profile with contact settings and related research information.
Parameters
| Parameter | Type | Description |
|---|---|---|
id (path) |
string | Person MongoDB ObjectID; usernames are not supported. |
apikey |
string | Portfolio API key, if configured; alternatively use X-API-Key. |
limit |
integer | Maximum list rows. Do not paginate this object response. |
offset |
integer | List rows to skip with limit. Defaults to 0; negative values become 0. |
Authentication, pagination, and error envelopes are described in Portfolio API Basics. Parameters such as json, filter, columns[], full, and aggregate are not supported unless listed here.
Example Request
1 | |
Example Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
The example uses illustrative values; the object is abbreviated. Optional stored or rendered fields may be omitted. For detail objects, response count usually counts top-level fields; see the basics.
Returned Fields
| Field | Description |
|---|---|
id, displayname, first, last, academic_title |
Person ID and stored name fields. |
position, position_de |
Stored bilingual position. |
inactive |
Only added as true when is_active is false. |
depts |
Flattened readable current unit hierarchy: id, name_en, name_de, unit_en, unit_de, indent, and hasChildren. |
cv |
Stored CV array or an empty array. |
contact |
Public email/phone plus non-empty alternative mail, comment, ORCID, Scholar ID, and social links. |
biography, research_profile |
Bilingual objects {en,de} with nullable values. |
research |
Optional array of bilingual {en,de} research entries. |
img, show_image |
Absolute profile image or placeholder URL, plus image-display flag. |
highlighted |
Optional visible highlighted activities: {id,icon,html,print}; workflow restrictions apply and **PORTAL** is removed from HTML. |
numbers |
Counts for publications, activities, teaching, projects, and infrastructures; source-activity counts may differ from list lengths. |
teaching |
Optional module rows {id,name,title,affiliation,count}; only added when a linked module resolves. |
projects |
Optional object with current and past arrays; each row has id, name, title, funding values, project role, legacy start/end, and bilingual personRole. |
infrastructures |
Array of public person infrastructure rows {id,name,role,start,end}; empty when absent/disabled. |
topics |
Optional active topic objects {id,name,name_de,color}. |
spectrum |
Optional aggregated spectrum; the embedded person profile suppresses it when fewer than four publications have assigned topics. |
news |
Optional public linked news dated up to today, newest first. |
Response Behavior
Requires a person ObjectID and excludes hidden persons. Inactive persons remain accessible. Email and phone default to public unless their visibility flag is false; alternative contact and social fields are included whenever non-empty.
img defaults to /img/no-photo.png. Public images use the db_pictures feature or an existing JPEG; show_image indicates whether an actual image is shown. Unit hierarchy excludes memberships whose end timestamp is not in the future; start dates are not checked.
Activity counters use authors.user, whereas the standalone person activity lists use rendered.users; results can differ for non-author roles. public_other_activities and public_teaching control embedded activity/teaching counts and sections. Standalone related endpoints do not enforce those switches. Public projects are split into current/past by project dates.
When quality workflows are enabled, portfolio-workflow-visibility applies: all imposes no extra restriction; only-approved requires workflow.status=verified; approved-or-empty accepts verified records or records with no workflow/status. This is a configured restriction, not a request parameter.
Errors
Missing or hidden persons return 404 DataNotFound with msg: "Person not found".