Skip to content

Get an entity

GET
/memory/entities/{entityId}
curl --request GET \
--url https://api.asklucy.eu/v1/memory/entities/example \
--header 'Authorization: Bearer <token>'

The entity with the live facts and the relations you can see.

entityId
required
string
/^ent_[A-Za-z0-9]+$/

OK

Media typeapplication/json
object
id
required
string
type
required

Lowercase, singular, snake_case: person, company, contract…

string
name
required
string
aliases
required

Other names it goes by.

Array<string>
summary
required

Empty when there is none.

string
attributes

Structured details (e.g. a registration number).

object
key
additional properties
any
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:.+)$/
fact_count
required

Live facts about it that you can see.

integer
created_at
required
string format: date-time
updated_at
required
string format: date-time
facts
required

Live facts about it that you can see, newest first.

Array<object>

One statement about an entity, with where it comes from. Facts are never changed; a correction replaces them.

object
id
required
string
entity
required
object
id
required
string
type
required
string
name
required
string
text
required
string
<= 500 characters
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:.+)$/
valid_from
required

Since when it holds, when known.

string | null format: date
valid_to
required

Until when it held, when known.

string | null format: date
recorded_at
required

When Lucy learned it.

string format: date-time
invalidated_at
required

When it was replaced or found wrong; null while it is live.

string | null format: date-time
superseded_by
required

The fact that replaced it.

string | null
source
required

Where it comes from. The conversation, message and file are given only to the person they belong to (null for others).

object
kind
required
string
Allowed values: said_by_person from_file from_tool inferred
user_id
required

The person who said it, or for whom Lucy was working.

string | null
conversation_id
required
string | null
message_id
required
string | null
file_id
required
string | null
relations
required

Live relations from or to it that you can see.

Array<object>
object
id
required
string
type
required

Lowercase snake_case, read from from to to: works_at, party_to, supplier_of…

string
from
required
object
id
required
string
type
required
string
name
required
string
to
required
object
id
required
string
type
required
string
name
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:.+)$/
attributes
object
key
additional properties
any
valid_from
required
string | null format: date
valid_to
required
string | null format: date
invalidated_at

When it was found wrong; null while it is live.

string | null format: date-time

Example

{
"id": "ent_5Tq9Bm",
"type": "company",
"name": "Acme SA",
"scope": "user",
"facts": [
{
"id": "fact_2Rk8Vp",
"entity": {
"id": "ent_5Tq9Bm",
"type": "company"
},
"text": "Custody fees are billed quarterly, in arrears.",
"scope": "user",
"source": {
"kind": "said_by_person"
}
}
],
"relations": [
{
"id": "rel_8Nw3Js",
"type": "party_to",
"from": {
"id": "ent_5Tq9Bm",
"type": "company"
},
"to": {
"id": "ent_5Tq9Bm",
"type": "company"
},
"scope": "user"
}
]
}

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.

No such object in your organization.

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.