Skip to content

Create

POST
/users/{user_id}/suggestions
curl --request POST \
--url https://example.com/users/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/suggestions \
--header 'Content-Type: application/json' \
--data '{ "confidence": 1, "dedup_key": "example", "kind": "example", "occurred_at": "2026-04-15T12:00:00Z", "payload": {}, "provenance": {}, "source": "example", "summary": "example", "title": "example" }'

Device-originated suggestion (the in-situ dwell prompt). De-duped by dedup_key; a repeat (or a previously-dismissed key) returns the existing row rather than creating a duplicate.

user_id
required
User Id
string format: uuid
Media typeapplication/json
SuggestionClientCreate

A device-originated suggestion (the in-situ dwell prompt). The client detects the dwell and posts the proposed place so it lands in the same inbox as server-inferred ones.

object
confidence
Any of:
number
<= 1
dedup_key
required
Dedup Key
string
>= 1 characters <= 200 characters
kind
required
Kind
string
/^(event|place|place_label)$/
occurred_at
Any of:
string format: date-time
payload
Payload
object
key
additional properties
any
provenance
Provenance
object
key
additional properties
any
source
required
Source
string
>= 1 characters <= 50 characters
summary
required
Summary
string
>= 1 characters <= 500 characters
title
required
Title
string
>= 1 characters <= 200 characters
Examplegenerated
{
"confidence": 1,
"dedup_key": "example",
"kind": "example",
"occurred_at": "2026-04-15T12:00:00Z",
"payload": {},
"provenance": {},
"source": "example",
"summary": "example",
"title": "example"
}

Successful Response

Media typeapplication/json
SuggestionRead
object
confidence
required
Any of:
number
created_at
required
Created At
string format: date-time
decided_at
required
Any of:
string format: date-time
expires_at
required
Any of:
string format: date-time
id
required
Id
string format: uuid
kind
required
Kind
string
occurred_at
required
Any of:
string format: date-time
payload
required
Payload
object
key
additional properties
any
provenance
required
Provenance
object
key
additional properties
any
resulting_event_id
required
Any of:
string format: uuid
resulting_place_id
required
Any of:
string format: uuid
source
required
Source
string
status
required
Status
string
summary
required
Summary
string
title
required
Title
string
window_end
required
Any of:
string format: date-time
window_start
required
Any of:
string format: date-time
Examplegenerated
{
"confidence": 1,
"created_at": "2026-04-15T12:00:00Z",
"decided_at": "2026-04-15T12:00:00Z",
"expires_at": "2026-04-15T12:00:00Z",
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"kind": "example",
"occurred_at": "2026-04-15T12:00:00Z",
"payload": {},
"provenance": {},
"resulting_event_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"resulting_place_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"source": "example",
"status": "example",
"summary": "example",
"title": "example",
"window_end": "2026-04-15T12:00:00Z",
"window_start": "2026-04-15T12:00:00Z"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}