Skip to main content
POST
Create Export Job

Access

The data export endpoints require your organization to have developer API access enabled. If it is not enabled, every export request returns 403 Forbidden. Contact our sales team to enable API access for your organization.

Data access level (Summary vs Full)

Each organization has a data access level that controls the granularity of the exported data. It is set at the account level (contact sales) — it is not a request parameter, and it is not returned in the response.
Full
Returns the complete dataset: every metric, the per-frame kinematic time series, and 3D keypoints.
Summary
Returns a single discrete row per capture — summary metrics only. The per-frame time series and 3D keypoints are not included. Because a summary export is already one row per capture, the following requests are rejected up front with a 400 on POST /data/export: To upgrade from summary to full data access, contact our sales team.

Export size limits

Before a job is created, the size of the export is estimated from the number of rows it would return. When the estimate is above the limit, POST /data/export returns 413:
To export more data, split it into several requests with shorter date ranges or fewer athletes.

Valid activity-movement pairs

Only the following activity and movement pairs are accepted. Any other pair returns a 400 error.
On the summary data access level, some of these activity/movement pairs may not be available and will return a 400. Contact sales if you need summary access to a pair that is currently full-only.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
activity
enum<string>
required

Specifies the type of activity for the export.

Available options:
agility,
baseball,
basketball,
gait,
golf,
jump,
lunge,
other,
range_of_motion,
softball,
squat,
stability,
track_and_field,
tennis
movement
enum<string>
required

Further filters the export based on specific movement type.

Available options:
cutting,
hitting,
pitching,
free_throw,
jump_shot,
layup,
running,
walking,
swing,
broad,
countermovement,
drop_vertical,
single_leg,
single_leg_broad,
squat,
forward,
other,
static_stance,
ankle_flexion,
cervical_flexion_extension,
cervical_rotation,
sfma_shoulder_extension,
sfma_shoulder_flexion,
shoulder_9090,
shoulder_flexion,
t_spine_rotation,
body_weight,
overhead,
sfma_squat,
plank,
push_up,
rotary,
sfma_back_bend,
sfma_toe_touch,
single_leg_stance,
y_balance_lower_quarter,
y_balance_upper_quarter,
hammer_throw,
high_jump,
shot_put,
five_ten_five,
discus,
backhand,
forehand,
overhand_serve,
underhand_serve
startTime
integer<int64>

Specifies the start of the time range for data retrieval in epoch time (UTC). Defaults to 24 hours prior to reduce the volume of data exported.

endTime
integer<int64>

Specifies the end of the time range for data retrieval in epoch time (UTC). Defaults to the current time to provide up-to-date information.

athletes
string[]

The list of athlete IDs to identify athlete data to be included in the export job. At most 100 athlete IDs per request; more returns a 400.

Maximum array length: 100
dateMode
enum<string>

Determines which date field ('last_modified' or 'capture_time') should be used for time-based filtering. Defaults to 'last_modified'.

Available options:
last_modified,
capture_time
metrics
string[]

The list of metrics to include in the export job. At most 300 metrics per request; more returns a 400.

Read more about Filtering Metrics for usage examples.

Maximum array length: 300
row_filter_column
string

Control the row of the session to be exported. Only the row with the specified column value equal to 0 will be exported.

Read more about Filtering Metrics for usage examples.

Response

Export request successfully created. Returns a job ID to track the export status.

jobId
string

The unique identifier for the export job. Use this ID to poll for export status and retrieve results.