Skip to content

Proposals to review

GET
/org/memory/proposals
curl --request GET \
--url https://api.asklucy.eu/v1/org/memory/proposals \
--header 'Authorization: Bearer <token>'

Proposed process versions for the organization and groups, oldest first, each with its process and the version it would replace.

OK

Media typeapplication/json
object
data
required
Array<object>
object
process
required

How something is done here. Its content is in versions; Lucy follows the current one.

object
id
required
string
scope
required

Who a piece of memory is for: user (only you, and Lucy when she works for you), group:<groupId> (the members of a group from the identity provider) or org (everyone in the organization).

string
/^(user|org|group:.+)$/
status
required

archived: Lucy no longer uses it; its versions are kept.

string
Allowed values: active archived
current
required
One of:
object
id
required
string
process_id
required
string
version
required

1, 2, … in order of creation, proposals included.

integer
>= 1
state
required
  • proposed: waiting for an admin.
  • accepted: the current version.
  • superseded: was current, replaced by a later version.
  • rejected: an admin turned the proposal down.
  • withdrawn: its author took it back or undid it.
string
Allowed values: proposed accepted rejected superseded withdrawn
title
required
string
when
required

When to use it (the requests or situations it is for).

string
body
required

The steps, in Markdown.

string
reads
required

Types of entities and relations it reads.

Array<string>
writes
required

Types of entities and relations it writes.

Array<string>
applies_to
required

The entities it is about (IDs).

Array<string>
rationale
required

Why it was written or changed; empty when not given.

string
base_version_id
required

The version it was written from; null for a first version.

string | null
author
required

A person, or Lucy working for that person. The person is null once their memory was erased.

object
kind
required
string
Allowed values: person lucy
user_id
required
string | null
name
required

The person’s name.

string | null
source_conversation_id
required

The conversation Lucy wrote it in; given only to its author.

string | null
flags
required

untrusted_input: Lucy wrote it after reading a file or a tool’s output, which may have steered her. Review it with care.

Array<string>
Allowed values: untrusted_input
decided_by
required
One of:
object
id
required

Zitadel user ID.

string
name
required
string
email
string | null format: email
kind

service is a customer system’s Zitadel service user; agent is a service agent (its ID is the agt_ ID), the author of its runs’ messages.

string
Allowed values: person service agent
decided_at
required
string | null format: date-time
decision_note
required
string | null
created_at
required
string format: date-time
use_count
required

How many times Lucy read it to follow it.

integer
last_used_at
required
string | null format: date-time
pending_proposals
required

Proposals waiting for review; for members, only their own.

integer
created_at
required
string format: date-time
updated_at
required
string format: date-time
proposal
required
object
id
required
string
process_id
required
string
version
required

1, 2, … in order of creation, proposals included.

integer
>= 1
state
required
  • proposed: waiting for an admin.
  • accepted: the current version.
  • superseded: was current, replaced by a later version.
  • rejected: an admin turned the proposal down.
  • withdrawn: its author took it back or undid it.
string
Allowed values: proposed accepted rejected superseded withdrawn
title
required
string
when
required

When to use it (the requests or situations it is for).

string
body
required

The steps, in Markdown.

string
reads
required

Types of entities and relations it reads.

Array<string>
writes
required

Types of entities and relations it writes.

Array<string>
applies_to
required

The entities it is about (IDs).

Array<string>
rationale
required

Why it was written or changed; empty when not given.

string
base_version_id
required

The version it was written from; null for a first version.

string | null
author
required

A person, or Lucy working for that person. The person is null once their memory was erased.

object
kind
required
string
Allowed values: person lucy
user_id
required
string | null
name
required

The person’s name.

string | null
source_conversation_id
required

The conversation Lucy wrote it in; given only to its author.

string | null
flags
required

untrusted_input: Lucy wrote it after reading a file or a tool’s output, which may have steered her. Review it with care.

Array<string>
Allowed values: untrusted_input
decided_by
required
One of:
object
id
required

Zitadel user ID.

string
name
required
string
email
string | null format: email
kind

service is a customer system’s Zitadel service user; agent is a service agent (its ID is the agt_ ID), the author of its runs’ messages.

string
Allowed values: person service agent
decided_at
required
string | null format: date-time
decision_note
required
string | null
created_at
required
string format: date-time
base
required
One of:
object
id
required
string
process_id
required
string
version
required

1, 2, … in order of creation, proposals included.

integer
>= 1
state
required
  • proposed: waiting for an admin.
  • accepted: the current version.
  • superseded: was current, replaced by a later version.
  • rejected: an admin turned the proposal down.
  • withdrawn: its author took it back or undid it.
string
Allowed values: proposed accepted rejected superseded withdrawn
title
required
string
when
required

When to use it (the requests or situations it is for).

string
body
required

The steps, in Markdown.

string
reads
required

Types of entities and relations it reads.

Array<string>
writes
required

Types of entities and relations it writes.

Array<string>
applies_to
required

The entities it is about (IDs).

Array<string>
rationale
required

Why it was written or changed; empty when not given.

string
base_version_id
required

The version it was written from; null for a first version.

string | null
author
required

A person, or Lucy working for that person. The person is null once their memory was erased.

object
kind
required
string
Allowed values: person lucy
user_id
required
string | null
name
required

The person’s name.

string | null
source_conversation_id
required

The conversation Lucy wrote it in; given only to its author.

string | null
flags
required

untrusted_input: Lucy wrote it after reading a file or a tool’s output, which may have steered her. Review it with care.

Array<string>
Allowed values: untrusted_input
decided_by
required
One of:
object
id
required

Zitadel user ID.

string
name
required
string
email
string | null format: email
kind

service is a customer system’s Zitadel service user; agent is a service agent (its ID is the agt_ ID), the author of its runs’ messages.

string
Allowed values: person service agent
decided_at
required
string | null format: date-time
decision_note
required
string | null
created_at
required
string format: date-time

Example

{
"data": [
{
"process": {
"id": "proc_3Fz7Xa",
"scope": "user",
"status": "active",
"current": {
"id": "prv_7Hc2Lw",
"state": "proposed",
"title": "Answer a custody-fee question",
"when": "Someone asks why custody fees changed, or to check a custody invoice.",
"reads": [
"company"
],
"writes": [
"invoice"
],
"applies_to": [
"ent_5Tq9Bm"
],
"author": {
"kind": "person"
},
"flags": [
"untrusted_input"
],
"decided_by": {
"kind": "person"
}
}
},
"proposal": {
"id": "prv_7Hc2Lw",
"state": "proposed",
"title": "Answer a custody-fee question",
"when": "Someone asks why custody fees changed, or to check a custody invoice.",
"reads": [
"company"
],
"writes": [
"invoice"
],
"applies_to": [
"ent_5Tq9Bm"
],
"author": {
"kind": "person"
},
"flags": [
"untrusted_input"
],
"decided_by": {
"kind": "person"
}
},
"base": {
"id": "prv_7Hc2Lw",
"state": "proposed",
"title": "Answer a custody-fee question",
"when": "Someone asks why custody fees changed, or to check a custody invoice.",
"reads": [
"company"
],
"writes": [
"invoice"
],
"applies_to": [
"ent_5Tq9Bm"
],
"author": {
"kind": "person"
},
"flags": [
"untrusted_input"
],
"decided_by": {
"kind": "person"
}
}
}
]
}

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.

The token is valid but lacks the role this needs.

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.