Relation

Add or remove ids on one of a relation's multi-link fields

Changed on
post/api/v2/relation/{id}/links/{field}

Request

  • Base URL: https://www.onlyworlds.com
  • URL: https://www.onlyworlds.com/api/v2/relation/{id}/links/{field}
  • Auth: API key in header API-Key and API key in header API-Pin

Path parameters

idstring uuid required

The relation's id (a malformed id is a 422).

field'events' | 'characters' | 'objects' | 'locations' | 'species' | 'creatures' | 'institutions' | 'traits' | 'collectives' | 'zones' | 'abilities' | 'phenomena' | 'languages' | 'families' | 'titles' | 'constructs' | 'narratives' required

A multi-link field of this type (anything else is a 422).

Headers

If-Matchstring

Apply only if the element's change_seq is still this number (quoted or bare; * or no header means unconditional). When the element has moved, 412 precondition_failed with the live element as current beside the envelope; nothing is written and nothing is merged.

X-OW-Agentstring

Send it (any non-empty value) when an agent makes this write: the change is recorded with changed_via declared (a delete's tombstone with deleted_via). An agent seat's key and MCP are recorded as agent-made without it. The value is never stored.

Request body

addstring[]
removestring[]

Response

Updated: the full element.

type'relation' required
idstring uuid required
namestring required

Name of the element.

descriptionstring required

Any kind of details about the element.

supertypestring required

The top level category to which the element belongs.

subtypestring required

The sub level category through which the element is further classified.

image_urlstring required

URL to an image representing the element.

backgroundstring required

History and origin of the relation.

start_dateinteger nullable required

Date when the relation began, defined in world TIME units.

end_dateinteger nullable required

Date when the relation ended if any, defined in world TIME units.

intensityinteger nullable required

Significance of the relation, on a relative scale of 0 to 100.

actorstring uuid nullable required

Primary character defining the relation. A Character's id.

eventsstring[] required

Events where the relation is involved or relevant. Event ids.

charactersstring[] required

Characters relevant to the relation. Character ids.

objectsstring[] required

Objects relevant to the relation. Object ids.

locationsstring[] required

Locations relevant to the relation. Location ids.

speciesstring[] required

Species relevant to the relation. Species ids.

creaturesstring[] required

Creatures relevant to the relation. Creature ids.

institutionsstring[] required

Institutions relevant to the relation. Institution ids.

traitsstring[] required

Traits relevant to the relation. Trait ids.

collectivesstring[] required

Collectives relevant to the relation. Collective ids.

zonesstring[] required

Zones relevant to the relation. Zone ids.

abilitiesstring[] required

Abilities relevant to the relation. Ability ids.

phenomenastring[] required

Phenomena relevant to the relation. Phenomenon ids.

languagesstring[] required

Languages relevant to the relation. Language ids.

familiesstring[] required

Families relevant to the relation. Family ids.

titlesstring[] required

Titles relevant to the relation. Title ids.

constructsstring[] required

Concepts, contracts, or principles relevant to the relation. Construct ids.

narrativesstring[] required

Narratives relevant to the relation. Narrative ids.

created_atstring date-time required
updated_atstring date-time required
change_seqinteger required

The world change sequence at this element's last write.

created_bystring uuid nullable required

The world membership that created this element, or null when the world's owner did.

changed_bystring uuid nullable required

The world membership that last changed this element, or null when the world's owner (or the server) did, or no write has touched it since doors were recorded.

changed_via'seat' | 'mcp' | 'declared' | 'api' | 'v1' | 'sync' | 'server' | 'null' nullable required

The door of the last change: seat (an agent seat), mcp (the MCP server), declared (the request sent an X-OW-Agent header), api, v1, sync (the mobile app's sync) or server (the server, on its own behalf). The first three mean an agent made it. Null: no write since doors were recorded.

known_oftrue

Present, and true, only on an element this reader knows of but does not see whole: a guest or player reaches it only because its own Character's sheet links to it (one step out). Such a row keeps id, type, name, description, supertype, subtype, image_url, created_at, updated_at and change_seq, and its type's public fields (none for a relation); every other field reads as unset (text "", numbers and single links null, multi links [], created_by, changed_by and changed_via null, no extension fields), its files are 404, and search matches only what it keeps. Absent: the element is whole. Any other grant (it names the reader's Character, the reader knows it, it is on the roster, the reader made it) makes it whole; a hidden element is never even a stub, whatever its public fields. Read-only: a write carrying known_of is refused (known_of_not_writable).

Changes

    • warning

      added the new known_of_not_writable enum value to the // response property for the response status

    • warning

      added the new known_of_not_writable enum value to the / response property for the response status

    • warning

      added the new known_of_not_writable enum value to the / response property for the response status

    • warning

      added the new known_of_not_writable enum value to the / response property for the response status

    • warning

      added the new known_of_not_writable enum value to the / response property for the response status

    • warning

      added the new known_of_not_writable enum value to the / response property for the response status

    • warning

      added the new known_of_not_writable enum value to the / response property for the response status

    • warning

      added the new known_of_not_writable enum value to the / response property for the response status

    • warning

      added the new character_taken enum value to the // response property for the response status

    • warning

      added the new character_taken enum value to the / response property for the response status

    • warning

      added the new character_taken enum value to the / response property for the response status

    • warning

      added the new character_taken enum value to the / response property for the response status

    • warning

      added the new character_taken enum value to the / response property for the response status

    • warning

      added the new character_taken enum value to the / response property for the response status

    • warning

      added the new character_taken enum value to the / response property for the response status

    • warning

      added the new character_taken enum value to the / response property for the response status

    • warning

      added the new world_full enum value to the // response property for the response status

    • warning

      added the new world_full enum value to the / response property for the response status

    • warning

      added the new world_full enum value to the / response property for the response status

    • warning

      added the new world_full enum value to the / response property for the response status

    • warning

      added the new world_full enum value to the / response property for the response status

    • warning

      added the new world_full enum value to the / response property for the response status

    • warning

      added the new world_full enum value to the / response property for the response status

    • warning

      added the new world_full enum value to the / response property for the response status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property to the response with the status