Skip to main content
PUT
/
api
/
lists
/
{id}
/
column-preferences
Upsert a column preference
curl --request PUT \
  --url https://app.puffle.ai/api/lists/{id}/column-preferences \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "columnId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "isHidden": true
}
'
{
  "success": true
}

Overview

Upserts the authenticated user’s visibility preference for one column. Preferences are stored per (list_id, user_id, column_id) in list_column_preferences and only affect the calling user’s view — other collaborators see their own preferences. The sibling GET /api/lists/{id}/column-preferences endpoint returns every preference the current user has saved for this list.

AI agent notes

Upsert semantics. Repeated calls with the same columnId overwrite the previous value. There is no separate create/update path.Position is managed elsewhere. This endpoint only toggles isHidden. Column ordering is managed through PATCH /api/lists/{id}/columns/{colId} (for global position) — per-user position overrides are read-only through the GET endpoint.No cross-user effects. Hiding a column for yourself does not hide it for teammates.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

List UUID. Must be owned by the caller.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

Body

application/json

Upsert a single column-preference row. Keyed on (list_id, user_id, column_id).

columnId
string<uuid>
required

Column the preference applies to. Must exist on this list.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
isHidden
boolean
required

True hides the column from the current user's view; false shows it.

Response

Preference upserted.

success
enum<boolean>
required
Available options:
true