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"

Path Parameters

templateId
string
required

Assigned workout plan id.

Example:

"67f1234567890abcdef1234"

weekNumber
integer
required

The 1-based week of the calendar schedule.

Required range: x >= 1
Example:

1

weekday
integer
required

1 = Monday … 7 = Sunday.

Required range: 1 <= x <= 7
Example:

1

clientId
string
required

Client in the company bound to the Public API token.

Pattern: ^[a-fA-F0-9]{24}$

Body

application/json
activityType
enum<string>
required
Available options:
running,
cycling,
walking,
swimming,
rowing,
padel,
mobility,
other
Example:

"running"

name
string
required

A plain string is wrapped in the caller's language. An already-localized [{lang, value}] array is also accepted.

Example:

"Run fast"

description
string
Example:

"Easy zone-2 pace."

startTime
string

Optional 24-hour HH:mm.

Example:

"12:25"

plannedDurationMinutes
number | null

Parsed through the shared numeric helper, so a comma decimal ("1,5") is accepted.

Example:

20

targetDistanceMeters
number | null

In METRES. The setup screen collects kilometres, so the app converts before sending.

Example:

1000

clientId
string

Coach tokens only; see the add-week endpoint.

Response

Activity added.

data
object
required
meta
object
required