Skip to content

Create Log entries in a batch

POST
/api/v1/notes/journal/log/batch
curl --request POST \
--url https://example.com/api/v1/notes/journal/log/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "entries": [ { "attachments": [ { "target": "example", "text": "example" } ], "client_id": "example", "now": "example", "position": { "latitude": 1, "longitude": 1 }, "text": "example", "timezone": "example" } ] }'

Requires a signed-in User with the data scope. It validates the batch before it adds entries to Daily notes. It returns 400 when the batch is empty, too large or contains an invalid entry. Route: /api/v1/notes/journal/log/batch. Inputs: . Do not automatically replay this operation after an uncertain result.

Media typeapplication/json

Entries accepted by the durable Log batch endpoint. The endpoint bounds this list at 1,000 before allocating block IDs or touching the Home (#468).

object
entries
required
Array<object>
object
attachments

Files already in the Home (uploaded by the composer) to link below the new entry, in order: - ![text](<target>) for an embed, else - [text](<target>). Written in the same Daily note write as the entry, so an entry never lands without the attachments it was sent with.

Array<object>

One composer attachment: a Home-relative file path and its link text (#421).

object
target
required
string
text
required
string
client_id

Stable create identity supplied by the Installation. Receipts retain the first outcome so partial Composer retries cannot create another Log (#844).

string | null
now
required
string
position
One of:

Exact position from the Installation. The server records only the matching Saved place name and ID after checking the User’s Location setting.

object
latitude
required
number format: double
longitude
required
number format: double
text
required
string
timezone
required
string
Examplegenerated
{
"entries": [
{
"attachments": [
{
"target": "example",
"text": "example"
}
],
"client_id": "example",
"now": "example",
"position": {
"latitude": 1,
"longitude": 1
},
"text": "example",
"timezone": "example"
}
]
}
Media typeapplication/json

Results preserve request order while each file is written once (#468).

object
entries
required
Array<object>
object
date
required
string
end
string | null
etag
required
string
id
required
string
path
required
string
place
One of:
object
id
required
string
name
required
string
start
required
string
tags
required
Array<string>
title
required
string
zone
string | null
Examplegenerated
{
"entries": [
{
"date": "example",
"end": "example",
"etag": "example",
"id": "example",
"path": "example",
"place": {
"id": "example",
"name": "example"
},
"start": "example",
"tags": [
"example"
],
"title": "example",
"zone": "example"
}
]
}