Skip to content

Character Roleplay Profiles

Roleplayer users of Central Archives can fill out roleplay profiles for their registered characters, describing their appearance, biography, and the like. Here is how a character roleplay portal looks when viewed on Chaos Archives, the European roleplay portal:

Roleplay profile

All this information can be retrieved programmatically, without authentication. It can also be edited by an external app that possesses an access token with the appropriate scope, namely rp:character-profile:all.write.

Retrieving a character roleplay profile

To retrieve the roleplay profile of a Central Archives character, make a GET request to:

https://centralarchives.org/api/rp/v1/characters/profile/<world>/<name>

For example, for the character displayed above, the address of the roleplay profile is:

https://centralarchives.org/api/rp/v1/characters/profile/Omega/Vielle%20Janlenoux

The possible response status codes are:

  • 200 OK: The character is found on Central Archives.
  • 404 Not Found: The character is not registered on Central Archives.

Here's an example JSON response:

{
  "appearance": "A statuesque stunner with amber-colored luminous orbs.",
  "background": "Born in Ishgard in a downtrodden peasant family...",
  "occupation": "Red mage",
  "race": "Elezen",
  "nationality": "Nationality",
  "age": "Middle-aged",
  "birthplace": "Ishgard",
  "residence": "Revenant's Toll",
  "title": "Lady",
  "nickname": "Inkie",
  "motto": "Tomorrow is another day.",
  "loves": "Her paramour, Lambert",
  "hates": "Hot chocolate",
  "friends": "Margaux",
  "relatives": "Mother: Arluelle, father: Silgryn",
  "enemies": "Elisande",
  "motivation": "Helping the helpless",
  "currently": "Tired, restless.",
  "oocInfo": "My Discord is: Example#1234",
  "pronouns": "She/her"
}

All possible fields are returned and guaranteed to be strings. The value of fields not set by the user is the empty string "".

Notably, the currently and oocInfo fields can only be retrieved and set via the Roleplay API, as they're not displayed on the website.

The returned response can include [[wikilinks]], such as [[Wesliaux Belletont|Wes]] or [[Havien Varanoux]]. API clients that can render hyperlinks may turn these wikilinks into clickable hyperlinks rooted at https://centralarchives.org/link, e.g. [[Havien Varanoux]] can be linked to https://centralarchives.org/link/Havien%20Varanoux. If the client cannot render hyperlinks, it should remove wikilink formatting and display plain text instead.

Appearance and Background

The appearance and background fields are edited and stored as HTML. The API endpoint, however, converts this HTML into plain text before returning it. This is why these fields are not editable via the API, as it would result in data loss if the HTML was overwritten with plain text.

Updating a character roleplay profile

Updating a character roleplay profile requires an access token with the rp:character-profile:all.write scope, with must be passed in an Authorization: Bearer header.

To update a character roleplay profile, the client sends a PATCH request to the same resource URL:

https://centralarchives.org/api/rp/v1/characters/profile/<world>/<name>

The format of the request body is the same as the response body returned by the GET request above, but:

  • The appearance, background, and race fields cannot be edited and are silently ignored if sent.
  • All fields are optional. For example, sending a request with only the nationality field will update the character nationality and nothing else.

The possible response status codes are:

  • 204 No Content: The character roleplay profile has been successfully updated.
  • 401 Unauthorized: No access token specified.
  • 403 Forbidden: The access token doesn't have the required scope, or the user revoked app consent, or the user is not verified (and thus cannot edit roleplay profiles), or this character does not belong to the user bound to the access token.
  • 404 Not Found: The character is not registered on Central Archives.