Skip to content

Change my preferences

PATCH
/me/preferences
curl --request PATCH \
--url https://api.asklucy.eu/v1/me/preferences \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "instructions": "example", "memory": true, "web_search": true, "sandbox_retention": { "snapshot_days": 1, "artifact_days": 1 } }'
Media typeapplication/json
object
>= 1 properties
instructions
string | null
<= 4000 characters
memory
boolean | null
web_search

Ignored. Web search follows the organization only (can_web_search in GET /me); accepted for now so older clients don’t fail.

boolean | null
sandbox_retention
One of:

How long Lucy’s sandbox keeps what it saved: a paused workspace (the files of a conversation after a few idle minutes) and published pages. Days; a field that is null or absent is inherited. The organization’s value is the default and the ceiling: a person or a conversation can only choose a shorter time. The effective value is the shortest that applies, within the platform’s maximum.

object
snapshot_days

0 keeps no paused workspace (an idle sandbox is deleted with its files).

integer | null
artifact_days
integer | null
>= 1

Example generated

{
"instructions": "example",
"memory": true,
"web_search": true,
"sandbox_retention": {
"snapshot_days": 1,
"artifact_days": 1
}
}

OK

Media typeapplication/json
object
instructions
required

How you’d like Lucy to answer you (e.g. “Answer in French, keep it short”). Added after the organization’s instructions, which take precedence.

string | null
<= 4000 characters
memory
required

Lucy Memory for you. Null (the default) means on whenever the organization has it on; false turns it off: Lucy neither reads nor writes memory in your conversations. You can still see, export and delete what is stored.

boolean | null
sandbox_retention

How long Lucy’s sandbox keeps what it saved: a paused workspace (the files of a conversation after a few idle minutes) and published pages. Days; a field that is null or absent is inherited. The organization’s value is the default and the ceiling: a person or a conversation can only choose a shorter time. The effective value is the shortest that applies, within the platform’s maximum.

object
snapshot_days

0 keeps no paused workspace (an idle sandbox is deleted with its files).

integer | null
artifact_days
integer | null
>= 1
sandbox_retention_limits

What you may choose between. max is your organization’s value (the ceiling); default is what applies if you choose nothing.

object
snapshot_days
required
object
default
required
integer
max
required
integer
artifact_days
required
object
default
required
integer
max
required
integer
organization_instructions

The organization’s rules for Lucy, as its admins set them (instructions of PATCH /org). Lucy follows them in every answer, before your own instructions. Null when there are none.

string | null

Example generated

{
"instructions": "example",
"memory": true,
"sandbox_retention": {
"snapshot_days": 1,
"artifact_days": 1
}
}

The request is invalid; errors lists what’s wrong.

Media typeapplication/problem+json

RFC 9457 problem details.

object
type
required
string format: uri-reference
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
quota

For quota-exceeded, the window that is used up.

object
window
required
string
Allowed values: five_hours week month
percent_used
required
number
<= 100
resets_at
required

Null for a rolling window that hasn’t started.

string | null format: date-time
limited_by
required

organization when the organization’s budget is closer to running out than the member’s own limit.

string
Allowed values: personal organization
request
One of:

A request as its member sees it, where they asked.

object
id
required
string
status
required
string
Allowed values: pending approved declined withdrawn
created_at
required
string format: date-time
decided_at
required
string | null format: date-time
note
required

What the admin who decided wrote back.

string | null
errors

Field-level problems (400 only).

Array<object>
object
field
required

JSON pointer into the request body.

string
message
required
string

Example

{
"type": "https://docs.asklucy.eu/errors/answer-in-progress",
"quota": {
"window": "five_hours",
"limited_by": "personal",
"request": {
"status": "pending"
}
}
}
X-Request-Id
string

Unique per request; quote it to support.

Missing, expired or invalid token.

Media typeapplication/problem+json

RFC 9457 problem details.

object
type
required
string format: uri-reference
title
required
string
status
required
integer
detail
string
instance
string
request_id
string
quota

For quota-exceeded, the window that is used up.

object
window
required
string
Allowed values: five_hours week month
percent_used
required
number
<= 100
resets_at
required

Null for a rolling window that hasn’t started.

string | null format: date-time
limited_by
required

organization when the organization’s budget is closer to running out than the member’s own limit.

string
Allowed values: personal organization
request
One of:

A request as its member sees it, where they asked.

object
id
required
string
status
required
string
Allowed values: pending approved declined withdrawn
created_at
required
string format: date-time
decided_at
required
string | null format: date-time
note
required

What the admin who decided wrote back.

string | null
errors

Field-level problems (400 only).

Array<object>
object
field
required

JSON pointer into the request body.

string
message
required
string

Example

{
"type": "https://docs.asklucy.eu/errors/answer-in-progress",
"quota": {
"window": "five_hours",
"limited_by": "personal",
"request": {
"status": "pending"
}
}
}
X-Request-Id
string

Unique per request; quote it to support.