A goal to track daily completions for a year.
Record Key
tid
Timestamp-based ID
Properties
accentColor
string
Optional
Preset name or hex color for incomplete state
maxLength: 50 bytescategories
array
of
string
Optional
Array of category UUIDs this goal belongs to
completedAccentColor
string
Optional
Preset name or hex color for complete state
maxLength: 50 bytescompletedPiece
string
Optional
Shape name or emoji for complete state
maxLength: 100 bytescompletedPieceBlob
blob
Optional
Uploaded image for complete state
maxSize: 1.0 MBcompletedPieceUrl
string
uri
Optional
Favicon URL for complete state
createdAt
string
datetime
Required
Timestamp when the goal was created
description
string
Optional
Optional description of the goal
maxLength: 500 bytesgoalId
string
Required
Unique identifier for the goal (UUID)
maxLength: 64 bytesname
string
Required
Display name of the goal
maxLength: 100 bytespiece
string
Optional
Shape name or emoji for incomplete state
maxLength: 100 bytespieceBlob
blob
Optional
Uploaded image for incomplete state
maxSize: 1.0 MBpieceUrl
string
uri
Optional
Favicon URL for incomplete state
targetCount
integer
Optional
Target count for countable goals
minimum: 1year
integer
Required
Year this goal is tracked for
minimum: 1970View raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"goalId",
"name",
"year",
"createdAt"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "Display name of the goal"
},
"year": {
"type": "integer",
"minimum": 1970,
"description": "Year this goal is tracked for"
},
"piece": {
"type": "string",
"maxLength": 100,
"description": "Shape name or emoji for incomplete state"
},
"goalId": {
"type": "string",
"maxLength": 64,
"description": "Unique identifier for the goal (UUID)"
},
"pieceUrl": {
"type": "string",
"format": "uri",
"description": "Favicon URL for incomplete state"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp when the goal was created"
},
"pieceBlob": {
"type": "blob",
"accept": [
"image/*"
],
"maxSize": 1000000,
"description": "Uploaded image for incomplete state"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64
},
"description": "Array of category UUIDs this goal belongs to"
},
"accentColor": {
"type": "string",
"maxLength": 50,
"description": "Preset name or hex color for incomplete state"
},
"description": {
"type": "string",
"maxLength": 500,
"description": "Optional description of the goal"
},
"targetCount": {
"type": "integer",
"minimum": 1,
"description": "Target count for countable goals"
},
"completedPiece": {
"type": "string",
"maxLength": 100,
"description": "Shape name or emoji for complete state"
},
"completedPieceUrl": {
"type": "string",
"format": "uri",
"description": "Favicon URL for complete state"
},
"completedPieceBlob": {
"type": "blob",
"accept": [
"image/*"
],
"maxSize": 1000000,
"description": "Uploaded image for complete state"
},
"completedAccentColor": {
"type": "string",
"maxLength": 50,
"description": "Preset name or hex color for complete state"
}
}
},
"description": "A goal to track daily completions for a year."
}