Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Public API access token issued by /public/v1/oauth/token. Example: Authorization: Bearer fspt_.... Each resource request rechecks the token company's current provider access. Disabling access blocks existing tokens with 403 auth.provider_unavailable.

Headers

Idempotency-Key
string
required

Required for Public API write requests. Reusing the same key with the same method, path, and body replays the stored successful response; reusing it with a different request returns 409 idempotency.conflict.

Required string length: 1 - 200
Example:

"booking-create-20260714-001"

Body

application/json
name
object
required

Up to 25 languages per field. Valid BCP 47 keys are canonicalized; duplicate canonical keys and und are rejected. Every non-empty map must contain defaultLanguage. Required text cannot be empty. A supplied map replaces all languages for that field; {} clears an optional field. Null maps, null values and plain strings are rejected.

defaultLanguage
string
required

Required on create and on the first public text update of an unlocalized resource. Omit on later PATCH requests to preserve it. Changing it requires the new language in all retained non-empty text maps. Declaring a legacy source language does not translate the source text.

Maximum string length: 80
habitType
enum<string>
required
Available options:
build,
quit
unit
string
required
icon
string
color
string
description
object

Up to 25 languages per field. Valid BCP 47 keys are canonicalized; duplicate canonical keys and und are rejected. Every non-empty map must contain defaultLanguage. Required text cannot be empty. A supplied map replaces all languages for that field; {} clears an optional field. Null maps, null values and plain strings are rejected.

goalPeriod
enum<string>
Available options:
day,
week,
month,
logMode
enum<string>
Available options:
value
goalValue
allowableValue
customUnitName
object

Up to 25 languages per field. Valid BCP 47 keys are canonicalized; duplicate canonical keys and und are rejected. Every non-empty map must contain defaultLanguage. Required text cannot be empty. A supplied map replaces all languages for that field; {} clears an optional field. Null maps, null values and plain strings are rejected.

taskDaysMode
enum<string>
Available options:
everyday,
weekdays,
weekends,
specific
specificDaysOfWeek
string[]
reminders
object[]

Response

Habit template created

data
object
required
meta
object
required