Skip to content

Rule 6: create-only vs. "writeOnly": true #48

Description

@pawel-kow

Rule 6: Data elements with mutability create-only MUST be annotated with "writeOnly": true in the JSON Schema for request schemas, and excluded from update request schemas. Servers MUST reject requests that attempt to modify a create-only element after object creation.

As per https://json-schema.org/understanding-json-schema/reference/annotations

writeOnly indicates that a value may be set, but will remain hidden. In could be used to indicate you can set a value with a PUT request, but it would not be included when retrieving that record with a GET request.

From data objects:

  • create-only: The element's value is provided during the
    object's creation and cannot be modified thereafter.

Create-only semantics does not tell anything about reading, but the usage is actually for properties which are meant to be read. (like domain name) -> this I have to fix in Data Objects (ietf-wg-rpp/draft-ietf-rpp-data-objects#80)

I think the conclusion is that writeOnly shall not be used. Also, full update schemas need to be separate from create schemas if there are any create-only properties.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions