Under Armour · Capability
MapMyFitness API — Workouts
MapMyFitness API — Workouts. 5 operations. Lead operation: List Workouts. Self-contained Naftiko capability covering one Under Armour business surface.
What You Can Do
GET
Listworkouts
— List Workouts
/v1/v7-1/workout
POST
Createworkout
— Create Workout
/v1/v7-1/workout
GET
Getworkout
— Get Workout
/v1/v7-1/workout/{id}
PUT
Updateworkout
— Update Workout
/v1/v7-1/workout/{id}
DELETE
Deleteworkout
— Delete Workout
/v1/v7-1/workout/{id}
MCP Tools
list-workouts
List Workouts
read-only
idempotent
create-workout
Create Workout
get-workout
Get Workout
read-only
idempotent
update-workout
Update Workout
idempotent
delete-workout
Delete Workout
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: MapMyFitness API — Workouts
description: 'MapMyFitness API — Workouts. 5 operations. Lead operation: List Workouts. Self-contained Naftiko capability
covering one Under Armour business surface.'
tags:
- Under Armour
- Workouts
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
UNDER_ARMOUR_API_KEY: UNDER_ARMOUR_API_KEY
capability:
consumes:
- type: http
namespace: mapmyfitness-workouts
baseUri: https://api.ua.com
description: MapMyFitness API — Workouts business capability. Self-contained, no shared references.
resources:
- name: v7.1-workout
path: /v7.1/workout/
operations:
- name: listworkouts
method: GET
description: List Workouts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user
in: query
type: string
description: User resource href or ID to filter workouts by
required: true
- name: activity_type
in: query
type: string
description: Filter by activity type href or ID (supports multiple, comma-separated)
- name: updated_before
in: query
type: string
description: Filter workouts updated before this ISO 8601 datetime
- name: updated_after
in: query
type: string
description: Filter workouts updated after this ISO 8601 datetime
- name: created_before
in: query
type: string
description: Filter workouts created before this ISO 8601 datetime
- name: created_after
in: query
type: string
description: Filter workouts created after this ISO 8601 datetime
- name: started_before
in: query
type: string
description: Filter workouts started before this ISO 8601 datetime
- name: started_after
in: query
type: string
description: Filter workouts started after this ISO 8601 datetime
- name: order_by
in: query
type: string
description: Sort order — start_datetime or -start_datetime (descending)
- name: limit
in: query
type: integer
description: Number of results per page
- name: offset
in: query
type: integer
description: Pagination offset
- name: createworkout
method: POST
description: Create Workout
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v7.1-workout-id
path: /v7.1/workout/{id}/
operations:
- name: getworkout
method: GET
description: Get Workout
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Workout ID
required: true
- name: field_set
in: query
type: string
description: Include additional data — use time_series for GPS/metric samples
- name: updateworkout
method: PUT
description: Update Workout
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Workout ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deleteworkout
method: DELETE
description: Delete Workout
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Workout ID
required: true
authentication:
type: bearer
token: '{{env.UNDER_ARMOUR_API_KEY}}'
exposes:
- type: rest
namespace: mapmyfitness-workouts-rest
port: 8080
description: REST adapter for MapMyFitness API — Workouts. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v7-1/workout
name: v7-1-workout
description: REST surface for v7.1-workout.
operations:
- method: GET
name: listworkouts
description: List Workouts
call: mapmyfitness-workouts.listworkouts
with:
user: rest.user
activity_type: rest.activity_type
updated_before: rest.updated_before
updated_after: rest.updated_after
created_before: rest.created_before
created_after: rest.created_after
started_before: rest.started_before
started_after: rest.started_after
order_by: rest.order_by
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- method: POST
name: createworkout
description: Create Workout
call: mapmyfitness-workouts.createworkout
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v7-1/workout/{id}
name: v7-1-workout-id
description: REST surface for v7.1-workout-id.
operations:
- method: GET
name: getworkout
description: Get Workout
call: mapmyfitness-workouts.getworkout
with:
id: rest.id
field_set: rest.field_set
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateworkout
description: Update Workout
call: mapmyfitness-workouts.updateworkout
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleteworkout
description: Delete Workout
call: mapmyfitness-workouts.deleteworkout
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: mapmyfitness-workouts-mcp
port: 9090
transport: http
description: MCP adapter for MapMyFitness API — Workouts. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: list-workouts
description: List Workouts
hints:
readOnly: true
destructive: false
idempotent: true
call: mapmyfitness-workouts.listworkouts
with:
user: tools.user
activity_type: tools.activity_type
updated_before: tools.updated_before
updated_after: tools.updated_after
created_before: tools.created_before
created_after: tools.created_after
started_before: tools.started_before
started_after: tools.started_after
order_by: tools.order_by
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: create-workout
description: Create Workout
hints:
readOnly: false
destructive: false
idempotent: false
call: mapmyfitness-workouts.createworkout
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-workout
description: Get Workout
hints:
readOnly: true
destructive: false
idempotent: true
call: mapmyfitness-workouts.getworkout
with:
id: tools.id
field_set: tools.field_set
outputParameters:
- type: object
mapping: $.
- name: update-workout
description: Update Workout
hints:
readOnly: false
destructive: false
idempotent: true
call: mapmyfitness-workouts.updateworkout
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-workout
description: Delete Workout
hints:
readOnly: false
destructive: true
idempotent: true
call: mapmyfitness-workouts.deleteworkout
with:
id: tools.id
outputParameters:
- type: object
mapping: $.