Profile

This entity contains all the profile data of a person.

The profile consists of two parts. The first is the base profile with the name, the avatar and the tags of the person. This part is always public and visible to everyone. The boolean flags (searchable, public and nsfw) are metadata and public too.

The second part is the extended profile consisting of bio, birthday, gender and location is not public by default (and only visible to contacts the person shares with). The owner of the profile can decide if this information should be public (that’s what the public flag is for) and then the extended profile is visible to non-contacts too.

Because of that there is a special case where the public-flag is false, but the profile was received via the public route. In this case the profile should only contain the base profile.

Properties

Property Type Editable Description
author diaspora* ID The diaspora* ID of the person.

Optional Properties

Property Type (Length) Editable Description
edited_at Timestamp The timestamp when the profile was edited.
full_name Name (70) The full name of the person.
first_name Name (32) The first name of the person.
last_name Name (32) The last name of the person.
image_url URL (255) The URL to the big avatar (300x300) of the person.
image_url_medium URL (255) The URL to the medium avatar (100x100) of the person.
image_url_small URL (255) The URL to the small avatar (50x50) of the person.
bio Markdown (65535) The description of the person. This field can contain markdown.
birthday Date The birthday of the person. The year may be 1004 or less, if the person specifies only day and month.
gender String (255) The gender of the person.
location String (255) The location of the person.
searchable Boolean false if the person doesn’t want to be searchable by name.
public Boolean true if the profile is visible to everyone.
nsfw Boolean true if all posts of this person should be marked as NSFW.
tag_string String A list of hashtags for this person, each tag beginning with # and seperated by spaces, at most 5 tags.

Example

<profile>
  <author>alice@example.org</author>
  <edited_at>2018-01-23T01:19:56Z</edited_at>
  <full_name>Alice Smith</full_name>
  <first_name>Alice</first_name>
  <last_name>Smith</last_name>
  <image_url>https://example.org/images/thumb_large_a795f872c93309597345.jpg</image_url>
  <image_url_medium>https://example.org/images/thumb_medium_a795f872c93309597345.jpg</image_url_medium>
  <image_url_small>https://example.org/images/thumb_small_a795f872c93309597345.jpg</image_url_small>
  <bio>some text about me</bio>
  <birthday>1988-07-15</birthday>
  <gender>Male</gender>
  <location>github</location>
  <searchable>true</searchable>
  <public>false</public>
  <nsfw>false</nsfw>
  <tag_string>#i #love #tags</tag_string>
</profile>