Trait
post/api/v2/trait

Request

  • Base URL: https://www.onlyworlds.com
  • URL: https://www.onlyworlds.com/api/v2/trait
  • Auth: API key in header API-Key and API key in header API-Pin

Headers

Idempotency-Keystring

Replays of the same key with the same body return the first successful response (with Idempotent-Replay: true) for 24h; the same key with a different body is a 409 idempotency_error. While the first request with a key is still running, the same key is a 409 idempotency_in_flight: retry after Retry-After.

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

idstring uuid

POST: optional client-minted id (any RFC 4122 UUID; the server mints a UUIDv7 otherwise). PUT/PATCH: ignored, the path id wins.

namestring nullable required

Name of the element. null stores ''.

descriptionstring nullable

Any kind of details about the element. null stores ''.

supertypestring nullable

The top level category to which the element belongs. null stores ''.

subtypestring nullable

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

image_urlstring nullable

URL to an image representing the element. null stores ''.

social_effectsstring nullable

Relating to social relationships, reputation, or interaction dynamics. null stores ''.

physical_effectsstring nullable

Relating to physical changes, limitations, or enhancements. null stores ''.

functional_effectsstring nullable

Relating to practical or learned performance or aptitude. null stores ''.

personality_effectsstring nullable

Relating to temperament, mental state, or personality expression. null stores ''.

behaviour_effectsstring nullable

Relating to visible aspects and patterns of behavior. null stores ''.

significancestring nullable

Describes the trait's societal, symbolic, or systemic presence. null stores ''.

charismainteger nullable

Affecting a character's charisma score.

coercioninteger nullable

Affecting a character's coercion score.

competenceinteger nullable

Affecting a character's competence score.

compassioninteger nullable

Affecting a character's compassion score.

creativityinteger nullable

Affecting a character's creativity score.

courageinteger nullable

Affecting a character's courage score.

anti_traitstring uuid nullable

Opposing trait that contradicts or nullifies the trait. Links a Trait: an existing one in this world.

empowered_abilitiesstring[] nullable

Abilities strengthened or enabled by the trait. Links Ability elements; replaces the whole list (null is the same as []). Every id must name an existing one in this world.

worldunknown
created_byunknown
changed_byunknown
changed_viaunknown

Response

Created: the full element.

type'trait' 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.

social_effectsstring required

Relating to social relationships, reputation, or interaction dynamics.

physical_effectsstring required

Relating to physical changes, limitations, or enhancements.

functional_effectsstring required

Relating to practical or learned performance or aptitude.

personality_effectsstring required

Relating to temperament, mental state, or personality expression.

behaviour_effectsstring required

Relating to visible aspects and patterns of behavior.

significancestring required

Describes the trait's societal, symbolic, or systemic presence.

charismainteger nullable required

Affecting a character's charisma score.

coercioninteger nullable required

Affecting a character's coercion score.

competenceinteger nullable required

Affecting a character's competence score.

compassioninteger nullable required

Affecting a character's compassion score.

creativityinteger nullable required

Affecting a character's creativity score.

courageinteger nullable required

Affecting a character's courage score.

anti_traitstring uuid nullable required

Opposing trait that contradicts or nullifies the trait. A Trait's id.

empowered_abilitiesstring[] required

Abilities strengthened or enabled by the trait. Ability 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; 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 its name and description. 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.

Changes

    • 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

    • info

      added the optional property to the response with the status