PATCH /api/brand-logos/{id} ā JSON:API field-level partial update.
Per https://jsonapi.org/format/#crud-updating-resource-attributes , only the top-level attributes/relationships present in the request body are replaced; missing top-level fields are preserved. A client can patch just name without disturbing width, alt_text, the image relationship, etc.
A present top-level field is replaced wholesale (no recursive merge into nested structures), so sending "alt_text": null clears it.
The image relationship is optional on PATCH ā omit to keep the existing image; include with a non-null data to repoint at a different image. A logo must have an image, so the JSON:API "unlink" form ("image": {"data": null}) is not supported and is treated the same as omitting the relationship (existing image preserved).