The core unit of data of the BAQ network.
{
"author": {
"entity": "maggie.baq.run"
},
"id": "bdfb0c15ebb9491d97f90ec0138f4509",
"created_at": "2023-09-05T09:42:05+00:00",
"version": {
"author": {
"entity": "maggie.baq.run"
},
"hash": "63c5b5c54c014f498ac19d20335f5c18bdc10d089de64489952fcf1f79adcb06",
"created_at": "2023-09-05T09:42:05+00:00"
},
"permissions": {
"read": "public"
},
"type": {
"entity": "types.baq.dev",
"record_id": "bf48729e2b984bb29c67e9da9683cdce",
"version_hash": "2bdcebd2206ae6d1d3fe2c1937d4d3585ca50be8b09bdf8010c90713fd809781"
},
"content": {...}
}
Recordauthor EntityLink
id RecordId
created_at RecordDate
version RecordVersion
permissions RecordPermissions
type VersionLink
content optional
no_content RecordNoContent optional
Record tombstone after deletion.
Mutually exclusive with content.
These are not part of the original record and are added by the server to provide additional information to the user.
source enum
Where the record came from.
Possible values from highest to lowest priority:
self : Created by the server’s user.
resolution : Record downloaded from a link.
notification : Received through a notification.
notification_unknown : From a user with no Standing record.
subscription : Received through a subscription.
proxy : Proxied record.
When two values apply, the highest priority takes precedence.
received_at RecordDate
The record envelope is the same for every record.
The expected content changes depending on the type.
A record is uniquely identified by it’s author and id.
RecordVersionVersioning information specific to a given version of the record.
author EntityLink
hash VersionHash
created_at RecordDate
parent_hash string optional
These are not part of the original record version and are added by the server to provide additional information to the user.
received_at RecordDate
RecordPermissionsAccess control information for the record.
read “public” | EntityLink[] optional
Read permissions for the record.
"public" exposes it to everyone, including unauthenticated requests.
Defaults to [{author}].
write EntityLink[] optional
Write permissions for the record.
Must be a subset of read.
Defaults to [{author}].
notify EntityLink[] optional
Entities to notify about the record.
Must be a subset of read.
Defaults to every entity in read.
read, write, and notify, the empty object {} represents private permissions where only the author can access the record.RecordNoContentRecord tombstone after deletion.
Includes information that makes it possible to query the tombstone for synchronization purposes.
action enum
Action that resulted in the record being deleted.
"delete""local""leave"links BonusLink[]
content prior to deletion.This record has empty permissions and can only be accessed by its author. The content matches the File record type.
{
"author": {
"entity": "sean.baq.run"
},
"id": "bdfb0c15ebb9491d97f90ec0138f4509",
"created_at": "2023-09-05T09:42:05+00:00",
"version": {
"author": {
"entity": "sean.baq.run"
},
"hash": "63c5b5c54c014f498ac19d20335f5c18bdc10d089de64489952fcf1f79adcb06",
"created_at": "2023-09-05T09:42:05+00:00"
},
"permissions": {},
"type": {
"entity": "types.baq.dev",
"record_id": "bf48729e2b984bb29c67e9da9683cdce",
"version_hash": "2bdcebd2206ae6d1d3fe2c1937d4d3585ca50be8b09bdf8010c90713fd809781"
},
"content": {
"blob": {
"hash": "efeffbbafe60450d8217acec395386932dadb8f146c24a7f91491aa80429d6a5",
"type": "audio/mpeg",
"name": "soundtrack.mp3"
},
"size": 3554267
}
}
This record is shared between the author and one other entity. That entity was notified upon creation of the record. The content matches the Message record type.
{
"author": {
"entity": "andersen.baq.run"
},
"id": "bdfb0c15ebb9491d97f90ec0138f4509",
"created_at": "2023-09-05T09:42:05+00:00",
"version": {
"author": {
"entity": "andersen.baq.run"
},
"hash": "63c5b5c54c014f498ac19d20335f5c18bdc10d089de64489952fcf1f79adcb06",
"created_at": "2023-09-05T09:42:05+00:00"
},
"permissions": {
"read": [
{"entity": "andersen.baq.run"},
{"entity": "samantha.baq.run"}
]
},
"type": {
"entity": "types.baq.dev",
"record_id": "91c81f5e1f124f55a3483d50845dd8d8",
"version_hash": "863debdf824ab35e1f41fefc507492beeb65841832711fb01dcf3000e5ab83b6"
},
"content": {
"conversation": {
"entity": "andersen.baq.run",
"record_id": "4e5da49d38b44ea7804817bd42e43768"
},
"text": "Hey Sam, how's it going?"
}
}
This record is publicly accessible and can be fetched with a simple unauthenticated HTTP request. The content matches the Article record type.
{
"author": {
"entity": "samantha.baq.run"
},
"id": "bdfb0c15ebb9491d97f90ec0138f4509",
"created_at": "2023-09-05T09:42:05+00:00",
"version": {
"author": {
"entity": "samantha.baq.run"
},
"hash": "63c5b5c54c014f498ac19d20335f5c18bdc10d089de64489952fcf1f79adcb06",
"created_at": "2023-09-05T09:42:05+00:00"
},
"permissions": {
"read": "public"
},
"type": {
"entity": "types.baq.dev",
"record_id": "6a6d633527b1429db700161c24e356cf",
"version_hash": "03679484a55b476f99b883c81b7cc30b92876f5cd00144b5972f7196e4174977"
},
"content": {
"title": "Federated content in 2024",
"summary": "...",
"content": "...",
"published_at": "2023-09-05T14:42:05+00:00"
}
}
This record was deleted by its author. It remains as a tombstone for synchronization purposes. The content was replaced by a no_content object that carries over the links the record previously had. This makes it possible for clients to fetch the tombstone even when filtering by link.
{
"author": {
"entity": "andersen.baq.run"
},
"id": "bdfb0c15ebb9491d97f90ec0138f4509",
"created_at": "2023-09-05T09:42:05+00:00",
"version": {
"author": {
"entity": "andersen.baq.run"
},
"hash": "99f85638200443138dc7a8166aeecb2e87fd5b0ae7fb46d8aaa461c4ef1d88e4",
"parent_hash": "63c5b5c54c014f498ac19d20335f5c18bdc10d089de64489952fcf1f79adcb06",
"created_at": "2023-09-05T09:42:05+00:00"
},
"permissions": {
"read": [
{"entity": "andersen.baq.run"},
{"entity": "samantha.baq.run"}
]
},
"type": {
"entity": "types.baq.dev",
"record_id": "91c81f5e1f124f55a3483d50845dd8d8",
"version_hash": "863debdf824ab35e1f41fefc507492beeb65841832711fb01dcf3000e5ab83b6"
},
"no_content": {
"action": "delete",
"links": [
{
"path": "$['content']['conversation']",
"type": "record",
"link": {
"entity": "andersen.baq.run",
"record_id": "4e5da49d38b44ea7804817bd42e43768"
}
}
]
}
}